package com.jinke.api.modules.app.response;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.time.LocalDateTime;

@Data
@EqualsAndHashCode
@ColumnWidth(value = 32)
public class ExcelOrderExport {

    @ExcelProperty(index = 0, value = "Order No")
    @ColumnWidth(value = 32)
    private String orderNo;

    @ExcelProperty(index = 1, value = "Label Create Time")
    @ColumnWidth(value = 32)
    private String labelCreatTime;

    @ExcelProperty(index = 2, value = "Tracking ID")
    @ColumnWidth(value = 32)
    private String trackingID;

    @ExcelProperty(index = 3, value = "User Email")
    @ColumnWidth(value = 32)
    private String userEmail;

    //销售
    @ExcelProperty(index = 4, value = "seller")
    @ColumnWidth(value = 32)
    private String seller;

    @ExcelProperty(index = 5, value = "carrierName")
    @ColumnWidth(value = 32)
    private String carrierName;

    @ExcelProperty(index = 6, value = "serviceName")
    @ColumnWidth(value = 32)
    private String serviceName;

    @ExcelProperty(index = 7, value = "Estimate Cost")
    @ColumnWidth(value = 32)
    private BigDecimal estimateCost;

    //审核时间
    @ExcelProperty(index = 8, value = "auditorTime")
    @ColumnWidth(value = 32)
    private LocalDateTime auditorTime;

    @ExcelProperty(index = 9, value = "Reference")
    @ColumnWidth(value = 32)
    private String reference;

    @ExcelProperty(index = 10, value = "Reference2")
    @ColumnWidth(value = 32)
    private String reference2;

    @ExcelProperty(index = 11, value = "Status")
    @ColumnWidth(value = 32)
    private String status;

    @ExcelProperty(index = 12, value = "Sender Name")
    @ColumnWidth(value = 32)
    private String senderName;

    @ExcelProperty(index = 13, value = "Sender Company")
    @ColumnWidth(value = 32)
    private String senderCompany;

    @ExcelProperty(index = 14, value = "Sender Phone")
    @ColumnWidth(value = 32)
    private String senderPhone;

    @ExcelProperty(index = 15, value = "Sender Email")
    @ColumnWidth(value = 32)
    private String senderEmail;

    @ExcelProperty(index = 16, value = "Sender Address Line1")
    @ColumnWidth(value = 32)
    private String senderAddressLine1;

    @ExcelProperty(index = 17, value = "Sender Address Line2")
    @ColumnWidth(value = 32)
    private String senderAddressLine2;

    @ExcelProperty(index = 18, value = "Sender Country Code")
    @ColumnWidth(value = 32)
    private String senderCountryCode;

    @ExcelProperty(index = 19, value = "Sender State Code")
    @ColumnWidth(value = 32)
    private String senderStateCode;

    @ExcelProperty(index = 20, value = "Sender City")
    @ColumnWidth(value = 32)
    private String senderCity;

    @ExcelProperty(index = 21, value = "Sender ZipCode")
    @ColumnWidth(value = 32)
    private String senderZipCode;

    @ExcelProperty(index = 22, value = "Recipient Name")
    @ColumnWidth(value = 32)
    private String recipientName;

    @ExcelProperty(index = 23, value = "Recipient Company")
    @ColumnWidth(value = 32)
    private String recipientCompany;

    @ExcelProperty(index = 24, value = "Recipient Phone")
    @ColumnWidth(value = 32)
    private String recipientPhone;

    @ExcelProperty(index = 25, value = "Recipient Email")
    @ColumnWidth(value = 32)
    private String recipientEmail;

    @ExcelProperty(index = 26, value = "Recipient Address Line1")
    @ColumnWidth(value = 32)
    private String recipientAddressLine1;

    @ExcelProperty(index = 27, value = "Recipient Address Line2")
    @ColumnWidth(value = 32)
    private String recipientAddressLine2;

    @ExcelProperty(index = 28, value = "Recipient Country Code")
    @ColumnWidth(value = 32)
    private String recipientCountryCode;

    @ExcelProperty(index = 29, value = "Recipient State Code")
    @ColumnWidth(value = 32)
    private String recipientStateCode;

    @ExcelProperty(index = 30, value = "Recipient City")
    @ColumnWidth(value = 32)
    private String recipientCity;

    @ExcelProperty(index = 31, value = "Form ZipCode")
    @ColumnWidth(value = 32)
    private String recipientZipCode;

    @ExcelProperty(index = 32, value = "Total Weight")
    @ColumnWidth(value = 32)
    private BigDecimal totalWeight;

    //重量单位
    @ExcelProperty(index = 33, value = "Mass Unit")
    @ColumnWidth(value = 32)
    private String massUnit;

    //长
    @ExcelProperty(index = 34, value = "Total Length")
    @ColumnWidth(value = 32)
    private BigDecimal totalLength;

    //宽
    @ExcelProperty(index = 35, value = "Total Width")
    @ColumnWidth(value = 32)
    private BigDecimal totalWidth;

    //高
    @ExcelProperty(index = 36, value = "Total Height")
    @ColumnWidth(value = 32)
    private BigDecimal totalHeight;

    //长宽高单位
    @ExcelProperty(index = 37, value = "Distance Unit")
    @ColumnWidth(value = 32)
    private String distanceUnit;

    //保证金
    @ExcelProperty(index = 38, value = "earnest")
    @ColumnWidth(value = 32)
    private BigDecimal earnest;

    //取消时间
    @ExcelProperty(index = 39, value = "cancelTime")
    @ColumnWidth(value = 33)
    private LocalDateTime cancelTime;

    // api成本价
    @ExcelIgnore
    private BigDecimal originFee;
    // 真名
    @ExcelIgnore
    private String realName;
}